#遍历文件夹，求文件夹中文件的总大小，使用到了递归

import os.path

def dirsize(dir):
	#如果传递的是文件路径，直接返回文件的大小
	if os.path.isfile(dir):
		return os.path.getsize(dir)
	
	total_size = 0
	#如果传递的是文件夹路径，用flist存储文件夹中的全部文件
	flist = os.listdir(dir)
	for f in flist:
		#对flist进行遍历，如果是文件则直接将文件大小累加；
		#如果是文件夹则通过遍历的方式继续求文件夹的大小进行累加
		ff = os.path.join(dir,f)
		if os.path.isfile(ff):
			total_size += os.path.getsize(ff)
		elif os.path.isdir(ff):
			total_size += dirsize(ff)
	#返回累加的结果的大小
	return total_size

#在此传递的参数是 要求大小 的文件或文件夹的路径名
print(dirsize("./test1"))